Date		:	5 septembre 1993
		Protection	:	MOT DE PASSE
		Programme	:       BIRDS of PREY
		Outils		:	SOFT-ICE V2.50
		Fichier		:	BIRDS.EXE
		Temps passé	:	1 Heure
		Société		:	ELECTRONIC ARTS
		Divers	        :	Fichiers en clair
		Origine		:	INDONESIE
		Numéro		:	219


	Presque 3 mois d'inactivité ( du 10/06 au 05/09 ) non pas que
	j'avais succombé à une crise de flemme, mais j'ai simplement
	fait un trip à JKT dont j'ai ramené 72 jeux.
	Il m'a fallu copier, tester, trier, recopier, retrier, m'occuper
	de mes coress, de mon lecteur 3« qui s'est envoyé en l'air, de mon
	nouveau disque dur "intelligent" et j'en passe... sans compter la
	présence des deux horribles.

	Ceci est le premier DEP de la série de JKT. 
	C'est un ELECTRONIC ARTS, ç'aurait donc du être simple. C'était
	simple, avec un petit piège caché dans la routine de comparaison
	des caractères.

	La touche ENTER est testée en CS:E2AB.

	CS=3D3C
	CS:E2AB 3C0D		CMP	AL,0D
	CS:E2AD	7434		JZ	E2E3

	Et le test des caractères se fait ici:

	CS:E2FB         <ÍÍÍ»	; ON CHERCHE LES CHARS. A TESTER.
	  :                 º
	  :	            º
	CS:E2FF	0AC0	    º	OR	AL,AL
	CS:E301	7416	    º	JZ	E319	; A REMPLACER PAR JMP E319
	CS:E303	0ADB	    º	OR	BL,BL
	CS:E305	7404	    º	JZ	E30B
	CS:E307	3AC3	    º	CMP	AL,BL	; ON COMPARE LES 2 CHARS.
	CS:E309	74F0	    ÈÍ<	JZ	E2FB    ; SI EGAUX ON CHERCHE LES 2 S.
	CS:E30B	FE0EF9C9	DEC	BYTE PTR [C9F9]
	CS:E30F	7403		JZ	E314
	CS:E311	E9C5FE		JMP	E1D9    ; Par là, j'suis pas aller... 
	CS:E314	EA61013E0F	JMP	0F3E:0161 ; Par ici ça sent le roussi !
	CS:E319	8AD8		MOV	BL,AL	; A REMPLACER PAR XOR BL,BL
	CS:E31B	881E32CA	MOV	[CA32],BL
	CS:E31F	FEC3		INC	BL	; BL+1 ! On prépare le piège.
	CS:E321	32FF		XOR	BH,BH	; BH=0
	CS:E323	015E00		ADD	[BP+00],BX ; PIEGE !!
	CS:E326	CB		RETF

	La bonne réponse passe par CS:E319, il suffit de faire un JMP au
	niveau de CS:E301. Mais l'instruction avant le RETF rajoute +1 au
	segment IP que l'on va restaurer si on a bien répondu sinon on
	rajoute n'importe quoi et on saute n'importe o—... Smart !
	Ce "1" est fabriqué par un MOV de AL ( qui doit être égal à 0000 )
	dans BL qui est incrémenté et additionner dans BP qui représente
	le segment IP qui sera restauré par le RETF qui suit. On suit
	toujours ?
	La solution est de XORer BH,BH ( 2 octets ) à la place de l'instruction
	MOV BL,AL.

	Avec PCTOOLS:
	Chercher: 0AC074160ADB
	Modifier: ....EB......
	Et dans le même secteur un peu plus loin:
	Chercher: 8AD8881E32CA
	Modifier: 32DB........

	FREDDY